草庐IT

redis 大Key问题

全部标签

c# - 大型可滚动数据 SL4 的虚拟化性能问题

问题:在可滚动区域显示大量数据会带来糟糕的性能和/或用户体验。尝试过:主要是在ListBox中设置一个DataTemplate以显示填充数据的网格,其中VirtualizationMode设置为Recycle并且在ListBoxiteself上设置了固定高度。类似于下面的示例。ContentControl将引入标准从另一个View格式化填充项的整体布局,其中包含大约20个静态文本block和20个数据绑定(bind)文本block。这很好用,并将初始负载减半。但是,现在的问题是我需要高度不是固定大小的能力,因此它会占用其父项中的可用空间,甚至可以调整大小。感谢@DanFox我发现您必须

c# - 使用具有模糊容忍算法的笔划作为加密 key

如何使用模糊容错来加密/解密?我希望能够使用InkCanvas上的Stroke作为我加密的key,但是当再次解密时,用户不必绘制完全相同的符号,只是相似。这可以在.NETC#中完成吗?---更新(9月9日)---我理想中想要的是一种加密算法,它可以接受基于某些基本key和定义允许差异的函数的特定key范围内的任何key..我在本地进行所有加密/解密,因此我不需要安全地通过线路发送任何内容。而且我不想存储用于加密的key,所以我没有任何可比较的东西。我可以想出一些方法来为每个相似的笔画生成相同的键,但如果想要接受任何类型的符号(不仅是字母),这并不容易。另一种选择是加密key是否可以通过

c# - 执行大量并发 INSERT 时如何避免 "Violation of UNIQUE KEY constraint"

我正在执行许多并发SQLINSERT语句,这些语句在UNIQUEKEY约束上发生冲突,即使我也在单个事务中检查给定键的现有记录。我正在寻找一种方法来消除或最大限度地减少我遇到的碰撞数量,同时又不会损害性能(太多)。背景:我正在开发一个ASP.NETMVC4WebApi项目,该项目接收大量对INSERT记录的HTTPPOST请求。它每秒收到大约5K-10K请求。该项目的唯一职责是删除重复数据和汇总记录。写起来很重;它的读取请求量相对较小;所有这些都使用带有IsolationLevel.ReadUncommitted的事务。数据库架构这是数据库表:CREATETABLE[MySchema]

c# - 这个傅立叶变换实现有什么问题

我正在尝试实现离散傅里叶变换,但它不起作用。我可能在某处写了一个错误,但我还没有找到它。基于以下公式:此函数执行第一个循环,遍历X0-Xn-1...publicComplex[]Transform(Complex[]data,boolreverse){vartransformed=newComplex[data.Length];for(vari=0;i而实际的计算,这可能就是错误所在。privateComplexTransformSingle(intk,Complex[]data,boolreverse){varsign=reverse?1.0:-1.0;vartransformed=

c# - .NET AddDays 问题

接下来的两行将相同的金额添加到相同的日期,结果日期部分相同,但不知何故时间部分有所不同!(newDateTime(2000,1,3,18,0,0)).AddDays(4535);(newDateTime(2000,1,3,18,0,0)).AddMonths(149);你会得到15秒的差异,并且两者至少可以舍入到几天,我不知道为什么会发生这种情况,但它只发生在AddDays上,而不是AddMonths(即使添加了数千个月)编辑1所以我尝试制作一个示例项目,但没有成功。如果我运行我的主项目,并将示例线放入watch,那么我会得到2个独立的值,如果我重新开始,问题就不存在了。该项目是3.5

c# - .NET System.Diagnostics.Stopwatch 问题(返回值太低)

在我的电脑上,秒表返回的值太低了。例如,当我指定Thread.Sleep(1000)时为200毫秒。该程序应该等待1秒。我还使用ManualResetEvent.WaitOne(1000)进行了测试,得到了相同的结果。框架2.0和3.0都给出了这种奇怪的行为。我正在运行带有.NETFramework3.5SP1的WindowsXPSP3。这是我的测试结果(下面的代码):1000msforDateTime.Now.Ticks0201msforStopwatch.ElapsedTicks0142msforStopwatch.ElapsedMilliseconds0139msforStopw

Linux 上的 C# 服务器可伸缩性问题

我有一个在VisualStudio2010和MonoDevelop2.8上开发的C#服务器。NET框架4.0看起来此服务器在Windows上的表现(在可伸缩性方面)比在Linux上好得多。我使用Apache的ab工具在nativeWindows(12个物理内核)以及8核和12核Windows和Ubuntu虚拟机上测试了服务器可扩展性。Windows响应时间非常平稳。当并发级别接近/超过核心数量时,它开始回升。出于某种原因,Linux响应时间要差得多。从并发级别5开始,它们几乎呈线性增长。8核和12核LinuxVM的行为也类似。所以我的问题是:为什么它在linux上表现更差?(以及我该如

c# - 关于 Juval Lowy 的 IDesign C# 编码标准的问题

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter为指导。8年前关闭。我们正在尝试使用IDesignC#Codingstandard.不幸的是,我没有找到全面的文档来解释它给出的所有规则,而且他的书并不总是有帮助。以下是我留下的Unresolved问题(来自第2章,编码实践):第26条:避免为枚举提供显式值,除非它们是2的整数幂第34号:始终使用for循环显式初始化引用类型数组第50名:避免事件作为接口(interface)成

c# - 等于 NHibernate 实体的实现,unproxy 问题

在NHibernate3.0Cookbook中,有一个基本实体类型的示例实现。equals是这样实现的:publicabstractclassEntity{publicvirtualTIdId{get;protectedset;}publicoverrideboolEquals(objectobj){returnEquals(objasEntity);}privatestaticboolIsTransient(Entityobj){returnobj!=null&&Equals(obj.Id,default(TId));}privateTypeGetUnproxiedType(){re

c# - 序列化数据成员(名称)覆盖问题

我正在使用DataContractJsonSerializer,但DataMemberName有问题。我做了一个基类和几个派生类。我需要派生类,因为我有不同的json字符串。我想反序列化json字符串,因此数据成员需要不同的名称。我尝试更改DataMember名称,如下例所示:基类:[DataContract]publicabstractclassBaseClass{[DataMember]publicvirtualstringFirstMethod{get;protectedset;}}派生类:[DataContract][KnownType(typeof(BaseAccess))]